package com.zkzx.company.api.service.authorization;

import com.zkzx.company.api.mapper.MemberRoleMapper;
import com.zkzx.company.api.mapper.entity.MemberRole;
import com.zkzx.company.api.mapper.entity.MemberRoleExample;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Optional;

/**
 * @author young Email:yanghui@zkraising.com
 * @description
 * @company 北京中科智兴物联科技有限公司 @版权所有
 * @since 2021年04月27日 17时23分
 */
@Service
public class MemberRoleService {

    @Resource
    MemberRoleMapper memberRoleMapper;

    /**
     * 获取用户对应的角色信息
     * @param MemberId 用户id
     * @return 角色信息
     */
    public MemberRole getByMemberId(Integer MemberId){
        MemberRoleExample memberRoleExample = new MemberRoleExample();
        memberRoleExample.createCriteria().andMemberidEqualTo(MemberId);
        List<MemberRole> MemberRoles = memberRoleMapper.selectByExample(memberRoleExample);
        Optional<MemberRole> MemberRoleFirst = MemberRoles.stream().findFirst();
        if(!MemberRoleFirst.isPresent()){
            throw new AccessDeniedException("没有权限");
        }
        // 获取用户管理的角色
        return MemberRoleFirst.get();
    }
}
